home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / MPW IIGS Interfaces / CIIGSIncludes / NoteSeq.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-04-03  |  3.2 KB  |  90 lines  |  [TEXT/MPS ]

  1. /********************************************
  2. ; File: NoteSeq.h
  3. ;
  4. ;
  5. ; Copyright Apple Computer, Inc.1986-90
  6. ; All Rights Reserved
  7. ;
  8. ********************************************/
  9. #ifndef __TYPES__
  10. #include <TYPES.h>
  11. #endif
  12.  
  13. #ifndef __NOTESEQ__
  14. #define __NOTESEQ__
  15.  
  16.  
  17. /* Commands */
  18. #define pitchBend 0x0L
  19. #define tempo 0x00000001L
  20. #define turnNotesOff 0x00000002L
  21. #define jump 0x00000003L
  22. #define setVibratoDepth 0x00000004L
  23. #define programChange 0x00000005L
  24. #define setRegister 0x00000006L
  25. #define ifGo 0x00000007L
  26. #define incRegister 0x00000008L
  27. #define decRegister 0x00000009L
  28. #define midiNoteOff 0x0000000AL
  29. #define midiNoteOn 0x0000000BL
  30. #define midiPolyKey 0x0000000CL
  31. #define midiCtlChange 0x0000000DL
  32. #define midiProgChange 0x0000000EL
  33. #define midiChnlPress 0x0000000FL
  34. #define midiPitchBend 0x00000010L
  35. #define midiSelChnlMode 0x00000011L
  36. #define midiSysExclusive 0x00000012L
  37. #define midiSysCommon 0x00000013L
  38. #define midiSysRealTime 0x00000014L
  39. #define midiSetSysExl 0x00000015L
  40. #define callRoutine 0x0000001EL
  41.  
  42. /* Mask Values */
  43. #define commandMask 0x0000007FL
  44. #define volumeMask 0x0000007FL
  45. #define chord 0x00000080L
  46. #define val1Mask 0x00007F00L
  47. #define toneMask 0x00007F00L
  48. #define noteMask 0x00008000L
  49. #define lByte 0x00FF0000L  /* meaning depends on midi command */
  50. #define durationMask 0x07FF0000L
  51. #define trackMask 0x78000000L
  52. #define delayMask 0x80000000L
  53. #define hByte 0xFF000000L
  54.  
  55. /* Error Codes */
  56. #define noRoomMidiErr 0x1A00
  57. #define noCommandErr 0x1A01  /* can't understand the current SeqItem */
  58. #define noRoomErr 0x1A02  /* sequence is more than twelve levels deep */
  59. #define startedErr 0x1A03  /* Note Sequencer is already started */
  60. #define noNoteErr 0x1A04  /* can't find the note to be turned off by the current SeqItem */
  61. #define noStartErr 0x1A05  /* Note Sequencer not started yet */
  62. #define instBndsErr 0x1A06  /* Instrument number out of Instrument boundary range */
  63. #define nsWrongVer 0x1A07  /* incompatible versions of NoteSequencer and NoteSynthesizer */
  64. struct LocRec {
  65.    Word curPhraseItem; /*  */
  66.    Word curPattItem; /*  */
  67.    Word curLevel; /*  */
  68. } ;
  69. typedef struct LocRec LocRec, *LocRecPtr, **LocRecHndl;
  70. extern pascal Word ClearIncr() inline(0x0A1A,dispatcher);
  71. extern LocRec GetLoc();
  72. extern pascal Word GetTimer() inline(0x0B1A,dispatcher);
  73. extern pascal void SeqAllNotesOff() inline(0x0D1A,dispatcher);
  74. extern pascal void SeqBootInit() inline(0x011A,dispatcher);
  75. extern pascal void SeqReset() inline(0x051A,dispatcher);
  76. extern pascal void SeqShutDown() inline(0x031A,dispatcher);
  77. extern pascal void SeqStartUp() inline(0x021A,dispatcher);
  78. extern pascal Boolean SeqStatus() inline(0x061A,dispatcher);
  79. extern pascal Word SeqVersion() inline(0x041A,dispatcher);
  80. extern pascal void SetIncr() inline(0x091A,dispatcher);
  81. extern pascal void SetInstTable() inline(0x121A,dispatcher);
  82. extern pascal void SetTrkInfo() inline(0x0E1A,dispatcher);
  83. extern pascal void StartInts() inline(0x131A,dispatcher);
  84. extern pascal void StartSeq() inline(0x0F1A,dispatcher);
  85. extern pascal void StartSeqRel() inline(0x151A,dispatcher);
  86. extern pascal void StepSeq() inline(0x101A,dispatcher);
  87. extern pascal void StopInts() inline(0x141A,dispatcher);
  88. extern pascal void StopSeq() inline(0x111A,dispatcher);
  89. #endif
  90.